package com.hwpt.hwaccount.feature.auth;


public interface RepwdContract {

    interface View {
        void showToast(String message);
        void startCountDownTimer();
        void switchToResetPassword();
        void finishActivity();
    }

    interface Presenter {
        void sendVerificationCode(String username);
        void verifyCode(String username, String code);
        void resetPassword(String newPassword);
        void onDestroy();
    }

    interface Model {
        void sendVerificationCode(String phone, OnVerificationCodeSentListener listener);
        void verifyCode(String phone, String code, OnCodeVerifiedListener listener);
        void resetPassword(String phone, String newPassword, OnPasswordResetListener listener);
    }

    interface OnVerificationCodeSentListener {
        void onSuccess();
        void onFailure(String errorMessage);
    }

    interface OnCodeVerifiedListener {
        void onSuccess();
        void onFailure(String errorMessage);
    }

    interface OnPasswordResetListener {
        void onSuccess();
        void onFailure(String errorMessage);
    }
}